2 // NSString+compactDescription.m
5 // Created by J Osborne on 2/19/13.
9 #import "NSString+compactDescription.h"
11 @implementation NSString (compactDescription)
13 -(NSString*)compactDescription
15 static NSCharacterSet *forceQuotes = nil;
16 static dispatch_once_t setup;
17 dispatch_once(&setup, ^{
18 forceQuotes = [NSCharacterSet characterSetWithCharactersInString:@"\"' \t\n\r="];
21 if ([self rangeOfCharacterFromSet:forceQuotes].location != NSNotFound) {
22 NSString *escaped = [self stringByReplacingOccurrencesOfString:@"\\" withString:@"\\\\"];
23 escaped = [escaped stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];
24 return [NSString stringWithFormat:@"\"%@\"", escaped];